Java Coding Standards এবং Naming Conventions

Java Technologies - জাভা ইন্টারভিউ প্রশ্ন (Java Interview Questions) Java এর Best Practices |
163
163

Java Coding Standards এবং Naming Conventions হল প্রোগ্রামিং স্টাইলের দিকনির্দেশনা যা কোডের গঠন, পাঠযোগ্যতা, রক্ষণাবেক্ষণ এবং সহযোগিতাকে উন্নত করে। এগুলি সাধারণত ডেভেলপারদের জন্য নির্দিষ্ট নিয়মাবলী প্রদান করে যাতে কোডটি একরকম হয় এবং সহজে বুঝতে ও রক্ষণাবেক্ষণ করতে সুবিধা হয়।

Java Coding Standards:

  1. Indentation and Spacing:

    • কোডের সঠিক indentation (ইনডেন্টেশন) এবং spacing কোডের পাঠযোগ্যতা বাড়ায়। Java-তে সাধারণত 4 spaces ব্যবহার করা হয়।
    • কোনো ফাংশন বা ব্লকের শুরুতে একটি নতুন লাইন থাকে এবং প্রতিটি কোড ব্লক একটি ট্যাব বা স্পেস দিয়ে ইনডেন্ট করা হয়।

    Example:

    public class MyClass {
        public void myMethod() {
            int x = 10;
            if (x > 5) {
                System.out.println("x is greater than 5");
            }
        }
    }
    
  2. Braces Placement:

    • K&R Style (Kernighan and Ritchie style) ব্রেসের স্টাইলটি সবচেয়ে প্রচলিত। এখানে এক্সপ্রেশন এবং কোড ব্লকের মধ্যে ব্রেস শুরু এবং শেষ লাইনগুলির মধ্যে একটি স্পেস রাখা হয়।

    Example:

    if (x > 5) {
        System.out.println("x is greater than 5");
    }
    
  3. Line Length:
    • এক লাইনে 80 থেকে 120 ক্যারেক্টারের বেশি লেখা উচিত নয়, কারণ কোডটি স্ক্রল করার সময় খুব বড় লাইনে কাজ করা কষ্টকর হয়।
  4. Method Length:
    • একে অপরের মধ্যে সম্পর্কিত কোড ব্লকগুলিকে আলাদা মেথডে ভাগ করুন। একেকটি মেথডের দৈর্ঘ্য 20-30 লাইন থেকে বেশি না হওয়া উচিত।
  5. Comments:
    • কোডে যথাযথ comments ব্যবহার করা উচিত যাতে কোডের কার্যকারিতা এবং উদ্দেশ্য পরিষ্কার থাকে। তবে over-commenting থেকে বিরত থাকুন; কোডের উদ্দেশ্য সহজেই বোঝা গেলে বেশি কমেন্ট প্রয়োজন নেই।
    • Single-line comment: // This is a comment
    • Multi-line comment: /* This is a multi-line comment */
    • JavaDoc comment: /** This is a Javadoc comment */
  6. Avoiding Magic Numbers:

    • কোডে সরাসরি সংখ্যার পরিবর্তে কনস্ট্যান্ট ব্যবহার করা উচিত। এই প্রক্রিয়াকে "Magic Numbers" থেকে বিরত থাকা বলা হয়। এটি কোডকে আরও রক্ষণাবেক্ষণযোগ্য করে তোলে।

    Example:

    final int MAX_SIZE = 100;
    if (size > MAX_SIZE) {
        System.out.println("Size exceeds limit");
    }
    
  7. Exception Handling:
    • Try-catch-finally ব্লক ব্যবহার করা হয় এবং সম্ভাব্য Exception গুলি ধরার জন্য উপযুক্ত ক্যাচ ব্লক থাকতে হবে।
    • কখনও catch ব্লক ছাড়াই throw বা throws ব্যবহার করবেন না।

Java Naming Conventions:

Java Naming Conventions হল কোডের শ্রেণী, মেথড, ভেরিয়েবল এবং কনস্ট্যান্টের নামকরণের জন্য সুপারিশ করা নিয়মাবলী। এই কনভেনশনগুলি কোডকে পাঠযোগ্য ও একরকম রাখে।

1. Class Names:

  • Class names সাধারণত CamelCase স্টাইল অনুসরণ করে এবং প্রথম অক্ষরটি বড় হয়।
  • Example: StudentDetails, EmployeeInfo

2. Interface Names:

  • Interface names সাধারণত CamelCase স্টাইল অনুসরণ করে এবং যদি সম্ভব হয়, একটি able বা ible suffixed শব্দ ব্যবহার করা হয় (যেমন: Runnable, Serializable)।
  • Example: Readable, Writable

3. Method Names:

  • Method names সাধারণত camelCase স্টাইলে এবং প্রথম অক্ষর ছোট হয়।
  • Example: calculateTotal(), getUserDetails()

4. Variable Names:

  • Variable names সাধারণত camelCase স্টাইলে এবং প্রথম অক্ষর ছোট হয়।
  • Example: totalAmount, studentList

5. Constant Names:

  • Constant names সবসময় UPPERCASE হয়ে থাকে এবং প্রতিটি শব্দের মধ্যে আন্ডারস্কোর থাকে।
  • Example: MAX_SIZE, PI

6. Package Names:

  • Package names সবসময় ছোট অক্ষরে এবং প্রতিটি স্তর ডোমেইন নামের অনুক্রমে রাখা হয়।
  • Example: com.example.utility, org.apache.http

7. Constructor Names:

  • Constructor names সবসময় ক্লাসের নামের মতোই হয়।
  • Example:
public class Student {
    public Student() {  // Constructor name is same as class name
        // constructor logic
    }
}

8. Acronyms and Abbreviations:

  • যখন কোনো অ্যাক্রোনিম বা সংক্ষেপিত শব্দ থাকে, তখন সেই শব্দটি UPPERCASE তে রাখা হয়। তবে পুরো শব্দটি ক্যামেলকেস স্টাইলে রাখা হয়।
  • Example: HttpRequest, XMLParser

9. Boolean Variable Names:

  • Boolean variable names সাধারণত is, can, has ইত্যাদি দিয়ে শুরু করা উচিত।
  • Example: isActive, hasPermission, canExecute

Best Practices and General Guidelines:

  1. Single Responsibility Principle (SRP):
    • এক ক্লাস বা মেথড শুধুমাত্র একটি কাজ করবে, এটি কোডের পরিষ্কারতা বজায় রাখে এবং রক্ষণাবেক্ষণ সহজ করে।
  2. Avoid Hardcoding:
    • কোডে সরাসরি মান দেওয়া (hardcoding) এড়িয়ে চলুন। পরিবর্তনযোগ্য ডেটা কনফিগারেশন ফাইল বা কনস্ট্যান্টে রাখুন।
  3. Use of Access Modifiers:
    • Encapsulation নিশ্চিত করতে যথাযথ access modifiers (public, private, protected) ব্যবহার করুন। ক্লাসের সদস্যগুলিকে অবিলম্বে private করে দিন এবং প্রয়োজন অনুযায়ী এক্সেসরের মাধ্যমে অ্যাক্সেস করুন।
  4. Avoid Large Methods:
    • এক মেথডের দৈর্ঘ্য 20-30 লাইন থেকে বেশি না হওয়া উচিত। এটি কোডকে বেশি পরিষ্কার এবং সহজে বোঝা যায়।
  5. Use JavaDocs for Documentation:

    • কোডের ভেতরে উপযুক্ত Javadoc comments ব্যবহার করুন, যা আপনাকে বা অন্যদের কোড বোঝার ক্ষেত্রে সহায়তা করবে।
    • Example:
    /**
     * This method calculates the total amount including tax.
     * @param amount The initial amount
     * @param tax The tax percentage to be added
     * @return The total amount
     */
    public double calculateTotal(double amount, double tax) {
        return amount + (amount * tax / 100);
    }
    

Java Coding Standards এবং Naming Conventions Java কোডকে পরিষ্কার, পাঠযোগ্য এবং রক্ষণাবেক্ষণযোগ্য করে তোলে। এগুলি নিশ্চিত করে যে কোডটি শুধুমাত্র লিখতে সহজ হবে না, বরং এটি ভবিষ্যতে অন্য ডেভেলপারদের জন্যও বোঝা সহজ হবে। Indentation, spacing, method length, এবং comments এর মাধ্যমে কোডের গঠন এবং পাঠযোগ্যতা নিশ্চিত করা হয়, এবং CamelCase, UPPERCASE, এবং অন্যান্য কনভেনশন দ্বারা কোডের নামকরণের একরূপতা বজায় রাখা হয়।

Content added By
Promotion